Conversation
Library Fixes: - Fixed loonySlotCount=0 in nim.cfg causing compilation errors - Fixed uint16 type mismatch in prn template (properly cast loonySlotCount-1) - Library now compiles cleanly on NimSkull 0.1.0-dev.21572 Test Suite: - Created 28 passing tests covering: * Queue creation and FIFO operations (8 tests) * Ward configuration and functionality (6 tests) * Ward creation with all flag types (6 tests) * Memory safety with ref types (1 test) - Tests use ref types exclusively (Loony design requirement) - All tests pass with --define:debug --define:release --define:danger - Tests validate core library contracts: * Push/pop FIFO ordering maintained * Safe and unsafe variant compatibility * Ward creation with PopPausable, PushPausable, Pausable, Clearable flags * Reference type integrity through the queue * Large sequential operations (1000+ items) Tests run via balls framework: env GITHUB_ACTIONS=true balls --define:debug
Contributor
|
Where'd this massive surge of nim related work come from, are you working in a job with Nim again? I'll have a look tomorrow, need to setup my tooling for Nim |
Contributor
Author
|
Just finishing neglected work before software engineering is rendered completely irrelevant. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The balls unittest rewrite can end up creating a false-positive in the ASAN test, so we simply revert to a basic assertion-based test program.
Also added a benchmark visualizer via gnuplot.
Made some progress on Ward completion but it's not finished and as I don't use it myself, I'm not too bothered by this.
Reworked the RC handling during ref movement in/out of the queue for, hopefully, greater safety and fewer sanitizer complaints.